† Corresponding author. E-mail:
Project supported by the National Natural Science Foundation of China (Grant Nos. 61203094 and 61305042), the Natural Science Foundation of the United States (Grant Nos. CNS-1253424 and ECCS-1202225), the Science and Technology Foundation of Henan Province, China (Grant No. 152102210048), the Foundation and Frontier Project of Henan Province, China (Grant No. 162300410196), the Natural Science Foundation of Educational Committee of Henan Province, China (Grant No. 14A413015), and the Research Foundation of Henan University, China (Grant No. xxjc20140006).
Recently, many image encryption algorithms based on chaos have been proposed. Most of the previous algorithms encrypt components R, G, and B of color images independently and neglect the high correlation between them. In the paper, a novel color image encryption algorithm is introduced. The 24 bit planes of components R, G, and B of the color plain image are obtained and recombined into 4 compound bit planes, and this can make the three components affect each other. A four-dimensional (4D) memristive hyperchaotic system generates the pseudorandom key streams and its initial values come from the SHA 256 hash value of the color plain image. The compound bit planes and key streams are confused according to the principles of genetic recombination, then confusion and diffusion as a union are applied to the bit planes, and the color cipher image is obtained. Experimental results and security analyses demonstrate that the proposed algorithm is secure and effective so that it may be adopted for secure communication.
With the rapid development of the Internet and computers, more and more multimedia information, such as color images, video, and mp3 are transmitted and stored through the Internet. Information security, especially image information security has become an important problem. Image encryption technology is an efficient method to protect digital images. However, some traditional encryption methods, such as data encryption standard (DES), international data encryption algorithm (IDES) and advanced encryption standard (AES) are not suitable for image encryption due to their intrinsic features.[1] Recently, many image encryption technologies based on DNA, compressive sensing, Gyrator transform, chaos, quantum computation and others have been introduced. The image encryption based on chaos has proven to be superior due to the special characteristics of chaotic systems, such as ergodicity, sensitive dependences on initial conditions and parameters, random-like behavior and mixing effect, and many chaos-based image encryption algorithms have been presented.[2–17] In 1998, Fridrich[4] presented that a chaos-based image encryption method should include the permutation and diffusion process. In the permutation phase, bit-level permutation of images used in our paper may change the positions and values of the plain image pixels simultaneously, thus it is superior to pixel-level confusion.[5–8] Zhu et al.[5] introduced a symmetric image encryption scheme, employed the Arnold cat map for bit-level permutation and the logistic map for diffusion. Zhang and Wang[6] put forward a novel image encryption algorithm by using a mixed linear-nonlinear coupled map lattice and by using the bit-level permutation strategy to make the lower bit planes and higher bit planes of plain images permute mutually without any extra storage space. However, some encryption schemes have been broken and proven to be unsecure,[9–12] for the fixed secure key regardless of the plain image that makes the methods vulnerable to the chosen plaintext attack, thus, more secure image encryption algorithms need to be introduced.
Chaotic systems used in the image encryption schemes can be divided into one-dimensional (1D) chaotic maps[13,14] and multi-dimensional (MD) chaotic systems.[15–17] The 1D chaotic systems have simple structures, and are easy to implement, but they have a limited range of chaotic behaviors and small key space, thus encryption methods using them have a relatively low security level. The MD chaotic systems have complex structures and multiple parameters, therefore the encryption algorithms based on them have a large key space and higher security level. For instance, Zhou et al.[13] introduced a simple and effective chaotic system by using a combination of two 1D chaotic maps (seed maps) and it has larger chaotic ranges than its seed maps, and they also proposed a novel image encryption algorithm based on the chaotic system. Using two 1D logistic maps and a tent map, Wang et al.[14] put forward a new block image encryption scheme based on the dynamic random growth technique. Zhang and Wang[15] presented non-adjacent coupled map lattices with more outstanding features than the logistic map and coupled map lattices, and proposed a new bit-level image encryption algorithm based on it. Recently, Wu et al.[16] proposed a new lossless encryption algorithm for color images based on a six-dimensional (6D) hyperchaotic system and the two-dimensional (2D) discrete wavelet transform (DWT). Tong et al.[17] gave a joint color image encryption and compression scheme, and the algorithm employed the discrete cosine transformation dictionary to sparsely represent the color image and used an image encryption method based on a hyperchaotic system to achieve image compression and encryption simultaneously. In 1971, Chua proposed the concept of a memristor for the first time,[18] and the HP Laboratory declared the physical realization of the memristor in 2008.[19] Because of a unique switch mechanism, natural memory function, continuous input and output characteristics and the nanoscale size, the memristor has received a great deal of attention and shown wide potential applications in nonvolatile memory, artificial neural networks, intelligent information processing and others.[20–22] Many nonlinear memristive oscillators have been introduced, and recently a simple memristor-based chaotic circuit was studied by Muthuswamy and Chua.[23] The dynamical behaviors of memristive chaotic systems are closely dependent on the initial states and system parameters, all these features make the memristive chaotic systems, especially hyperchaotic systems more desirable for image encryption. In this paper, a 4D memristive hyperchaotic system is employed to generate pseudorandom sequences and the performance of the encryption algorithm will be improved by its good features.
Since Leiser et al.[24] introduced the possibility of applying the DNA binary strands to encryption, some image encryption algorithms based on DNA computation have been proposed due to the features of massive parallelism, huge storage and ultra-low power consumption.[25–28] A novel image encryption algorithm based on the DNA sequence and multi-chaotic maps was presented in Ref. [25], and Zhang et al.[26] analyzed its weakness and broke the method. Recently, Wang et al.[27] proposed a novel image encryption scheme by using DNA sequence operations and a CML spatiotemporal chaos system. Huang and Ye[28] introduced an image encryption algorithm based on hyperchaos and the DNA sequence, a 4D hyperchaotic system was employed to produce the pseudorandom sequence for diffusion, and a circular permutation was used for the plain image. These schemes convert the plain image and chaotic sequences into DNA matrices and encrypt the original image based on the DNA complementary rule, encoding and decoding rules, and addition, subtraction and XOR rules. Usually, these operations are a little complicated and time-consuming. Besides, their encryption algorithms are based on grayscale images. As for color images, the correlation between components R, G, and B is high, however, some encryption algorithms use the same methods to encrypt components of the color images by neglecting the correlations between components R, G, and B which make encryption algorithms more vulnerable to attack. Considering the larger data capacity and higher correlation among pixels, the encryption of color images needs better statistic and diffusion properties of encryption algorithms than that of grey images.
According to the above analyses, in this paper, a novel color image encryption scheme based on genetic recombination and a 4D memristive hyperchaotic system is proposed. The contributions in this paper are as follows. First, instead of complex traditional DNA encoding and decoding rules, the essential principle of genetic recombination is used to permutate the 4 compound bit planes of the plain image and key streams, and compound bit planes come from the recombination of the 24 bit planes of components R, G, and B, which can confuse some elements between 4 bit planes of the original image, make the key streams more random and upgrade the encryption effect. Second, key streams are generated from the 4D memristive hyperchaotic system, its initial values are produced by the SHA 256 hash function of the color plain image, therefore our algorithm has high sensitivity to the plain image and large key space, and it can effectively resist against both chosen plain image attack and known plain image attack. Third, in the process of encryption, permutation and diffusion are employed as a stage, and this can save a great deal of time.
The rest of the paper is organized as follows. In Section 2, the 4D memristive hyperchaotic system and the basic rules of genetic recombination are presented. The proposed cryptosystem is described in detail in Section 3. Experimental results are provided in Section 4. In Section 5, the performance and security analysis of the encryption algorithm are presented. In the last section, some conclusions are drawn from the present studies.
By adding a memristor and a crossproduct item into a 3D autonomous quadratic system, a 4D memristive hyperchaotic system can be obtained, which may generate a real four-wing chaotic attractor;[29] it has richer and more complex dynamical behaviors than most of the known memristive systems,[30–32] and then it is more suitable for image encryption.
The system may be described by the following 4D ordinary differential equations:
Figure
Genetic recombination is the production of offspring with combinations of traits that differ from those found in either parent from the viewpoint of biological meaning. A strand of DNA or RNA is broken, joined to another part of a different DNA or RNA molecule, and then a new DNA or RNA molecule appears. In both meiotic and mitotic cells, genetic recombination between homologous chromosomes is a common mechanism used in DNA repair. Considering DNA strands, one of the DNA strands is broken by the natural or human aim, and then a new DNA strand is reconstructed with another one. Genetic recombination is made up of random recombination and exchange recombination. The random recombination refers to that the broken DNA strand will join some genes from other DNA strands of nonhomologous chromosomes, and the exchange recombination means that the broken DNA strands will exchange some genes with others from homologous chromosomes, and they can be illustrated in Fig.
In Fig.
Attacking analysis results of some encryption algorithms show that the methods cannot resist the chosen and known plain image attacks when they are not sensitive to changes in the plain images or secret key. In order to solve the problem, the proposed cryptosystem utilizes a 256-bit external secret key K, which is produced by the SHA 256 hash of the plain image. Even if there is only one bit difference between two plain images, their hash values will be completely different. The 256-bit secret key is divided into 8 bit blocks (ki), thus K can be expressed as follows:
The 256-bit hash value serves as the one-time keys and is used to produce the initial values of the hyperchaotic system, and they may be derived as follows:
Here, x0, y0, z0, and u0 are the initial values of the hyperchaotic system, the mod is the modular operator and x⊕y denotes the XOR operation. Obviously, equations (
Assume that the color plain image is denoted as P, whose size is M × N. For enhancing the performance of the color image encryption method, the plain image may be processed and the steps are shown as follows.
First, decompose the color image P into three components R, G, and B and their sizes are all M × N. Next, decimal-to-binary conversion is applied to each pixel of components R, G, and B, 24 bit planes are obtained. Then, 6 bit planes are combined together, 4 compound bit planes appear, that is to say, the 1st, and 2nd planes of the R component, the 3rd, and 4th planes of the G component and the 5th, and 6th planes of the B component constitute compound bit plane 1; the 3rd, and 4th planes of the R component, the 5th, and 6th planes of the G component and the 7th, and 8th planes of the B component form compound bit plane 2; the 5th, and 6th planes of the R component, the 7th, and 8th planes of the G component and the 1st, and 2nd planes of the B component constitute compound bit plane 3; compound bit plane 4 is comprised of the 7th, and 8th planes of the R component, the 1st, and 2nd planes of the G component and the 3rd, and 4th planes of the B component. Then 4 images (CP1, CP2, CP3, and CP4) are obtained after the compound bit planes have been recombined. Finally, arrange the 4 images into corresponding vectors SP1, SP2, SP3, and SP4 each with a size of 1 × MN.
The preprocessing of the color plain image has two advantages. On the one hand, the bit planes of components R, G, and B are split and then recombined, 4 compound bit planes comprise two bit planes of components R, G, and B, and thus the following encryptions of vectors SP1, SP2, SP3, and SP4 can effectively remove the correlation among components R, G, and B and enhance the security level of the proposed cryptosystem. On the other hand, as is well known, the bits at different bit planes have different weights, in the process of the recombination of compound bit planes, the lower bit planes and the higher bit planes are exchanged, the position of the bit plane is changed and the weight of each bit is changed accordingly; this can downgrade the statistical information about the image and upgrade the diffusion performance.
The flow chart of our proposed encryption algorithm is illustrated in Fig.
Here, SPi(j) are the j-th elements of vectors SPi (i = 1, 2, 3, 4) and SPi(j) ∈ [0,26] (j = 1, 2, …, MN); [x(i),x(j)] denotes the vector of x from the i-th element to j-th element, x∪y denotes the union of vector x and vector y.
⌊x⌋ returns to the nearest integer for x, in order to avoid transit effects, we must discard the values obtained by the former l (l ≥ 500) times.
As described in the encryption process, the proposed scheme has three merits. Firstly, the initial values of the 4D memristive hyperchaotic system are produced by the SHA 256 hash value of the plain image, thus our method highly depends on the original image. Secondly, the essential principle of genetic recombination is employed to confuse the 4 compound bit planes of the plain image and key streams, and this not only realizes the combined confusion of the components R, G, and B, but also obtains the more random key streams. Thirdly, permutation and diffusion are manipulated in a stage, and this can improve the encryption speed.
In this section, simulation results are presented to testify the proposed algorithm. The experimental environment is as follows: CPU: Intel Core i5-2450 M, 2.5 GHz; Memory: 4 GB; Operating system: Windows 7; Coding tool: Matlab 2014a. “all black” (512×512), “all white” (512×512), “Lena” (512×512), “Girl” (256×256), and “Pens” (512×480) are used as plain images, the cipher images, and recovered images are shown in Fig.
Figure
As a good image encryption algorithm, its key space should be large enough to make any brute force attack ineffective. However, a too large secret key may reduce the encryption speed. From the cryptography point of view, the size of the key space should not be smaller than 2100 to provide a high security level.[34] In the proposed algorithm, the secret keys include: (i) the 256-bit external key K produced by the SHA 256 hash function; (ii) parameter l which is related to the iteration process of the hyperchaotic system. Since the security of SHA 256 with complexity of the best attack is 2128,[33] the size of the key space is large enough to resist all kinds of brute-force attacks.
A histogram is used to illustrate the distribution of pixel values of an image. The ideal histogram of a cipher image is uniform, and the histograms of the plain image and the corresponding decrypted image are the same. Figure
Furthermore, variances of histograms are employed to quantitatively evaluate the uniformities of the ciphered images. The lower the variance, the higher the uniformity of the cipher image is. The variance of histogram can be computed from the following equation:[6]
Correlation reflects a linear relationship between two adjacent pixels for an image. The correlation of the plain images is generally high and it may leak information. A good encryption algorithm should remove the correlation between adjacent pixels as much as possible. The less the correlation, the more effectively the method performs. The correlation coefficients rx,y of two adjacent pixels can be calculated according to the following formula:
To analyze the correlation between the plain image and cipher image, we randomly choose 5000 pairs of two adjacent pixels from the plain images and their corresponding cipher images to calculate the correlation coefficients in horizontal, vertical and diagonal directions. The results are listed in Table
There is high correlation between adjacent pixels of R, G, B components for the color images. Thus, a good encryption method should break the correlations between adjacent pixels of R, G, B components. Tables
Besides, as D(x) = 0 for all black and white images, their correlation coefficients of the plain images may not be calculated, and those of corresponding cipher images are tested and shown in Tables
An effective cryptosystem should have high key sensitivity, and it can be observed from two aspects. On the one hand, in the encryption process, when the secret keys change slightly, a completely different cipher image is produced. On the other hand, in the decryption process, the plain image cannot be successfully decrypted if even a tiny difference exists between the encryption and decryption keys.
Firstly, we test the key sensitivity of the encryption process. The generation of a secret key is mostly based on the plain image, so if there is a slight change between the two images, the hash values will be different, and therefore the initial values of the hyperchaotic system are different. The encryption results for image “Lena” (512×512) with only one pixel difference are shown in Fig.
In addition, we analyze the key sensitivity of the decryption process. Figure
A good image encryption algorithm must resist the differential attack, which requires that a slight change in the plain image should bring a completely different cipher image. The number of pixels changing rate (NPCR) and unified average changing intensity (UACI) are put forward to test the resisting differential attack performance of the encryption method. The closer to 1 the NPCR, the more effective the algorithm is. The closer to 0.3333 the UACI, the more effectively the cryptosystem resists differential attack. The values of NPCR and UACI can be calculated from the following formula:
To test the proposed algorithm, we encrypt the plain images which differ by only one pixel by using the same secret keys, and the results are shown in Table
Information entropy is the most important measure of randomness. Information entropy H(m) of an information source m can be calculated from the following formula:
Usually, the adversary employs all-black or all-white images as special plain images to attack the encryption algorithms, for the special images can make the permutation process invalid, and they can make the encryption method known and unsafe. Figures
Color bands of the color plain image and cipher image are employed to illustrate the distributions of their R, G, B components. Figure
Regardless of the security considerations, encryption speed is also important, especially in real-time internet applications. In the proposed algorithm, some methods are employed to save the running time. Firstly, a 4D memristive hyperchaotic system is used and we obtain the chaotic sequences for the confusion and diffusion through iterating the hyperchaotic system once. Secondly, the essential principle of genetic recombination is used to confuse the plain images and chaotic sequences, and the traditional complex DNA encoding and decoding rules are removed. Besides, when we modify the pixel values of the plain images, the positions of the pixels are also changed, which means the confusion and diffusion are combined as a union, thus saving much time also.
Table
In this paper, a novel color image encryption algorithm based on genetic recombination and the memristive hyperchaotic system is introduced. A 4D memristive hyperchaotic system is employed to generate the key streams and the SHA 256 hash value of the color plain images is utilized to compute its initial values, so the proposed method is highly sensitive to the plain image and it can resist against the known and chosen plain image attack effectively. Furthermore, some encryption algorithms use the same methods to encrypt three components of the color images, by neglecting the correlations between components R, G, and B which make encryption algorithms more vulnerable to attacks; in order to remove it, the 24 bit planes of components R, G, and B are obtained and recombined to 4 compound bit planes for encryption. Then, we use the genetic recombination to confuse the compound bit planes and key streams. This can exchange some elements between 4 bit planes, but also make the key streams more random. Besides, confusion and diffusion are united together, and this can make our algorithm run faster.
The simulation experiments, including key space analysis, histogram analysis, correlation analysis, key sensitivity, differential attack, entropy attack, resisting known-plaintext and chosen-plaintext attack, color band analysis, and encryption speed, indicate that the proposed algorithm has good statistical and diffusion properties and can resist many kinds of attacks and perform well in speed. In addition, the proposed scheme is reliable to be applied to image encryption and transmission. Due to the use of a 4D memristive hyperchaotic system, the proposed scheme increases some computational cost compared with a low-dimensional chaos-based method. In the future, we plan to explore the algorithm for encrypting many colour images simultaneously, and implementing it in hardware, so that our algorithm can be used in actual communication systems.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 |